package cn.kgc.commons.vo;

import lombok.*;

import java.io.Serializable;

/**
 * 第一天上班，看清楚公司里面几个o的用法
 *
 * vo:  接受前端的参数  给前端返回值使用vo
 * dto: service之间传递参数，使用dto
 * entity：与数据库中的表进行关联
 *
 * @param <T>
 */

@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@SuppressWarnings("serial")
public class Result<T> implements Serializable {
    private int code;
    private String message;
    private T data;
    private String requestURL;

    public static <T> Result ok(T data,String requestURL){
        return Result.builder().code(200).message("success").data(data)
                .requestURL(requestURL).build();
    }

    public static <T> Result error(T data,String requestURL,int code,String message){
        return Result.builder()
                .code(code)
                .message(message)
                .data(data)
                .requestURL(requestURL).build();
    }


}
